package com.jgdt.jgdtkasannong_university_gene_backend.service.base;


import com.jgdt.jgdtkasannong_university_gene_backend.dto.EffectiveSequenceDto;
import com.jgdt.jgdtkasannong_university_gene_backend.entity.base.CameraDevice;
import com.jgdt.jgdtkasannong_university_gene_backend.entity.base.CameraDeviceChannel;
import com.jgdt.jgdtkasannong_university_gene_backend.vo.base.vido.GetVidoVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 摄像头设备序列表 服务类
 * </p>
 *
 * @author chenzg
 * @since 2025-05-08
 */
public interface CameraDeviceSequenceService {
    /**
     * 获取设备序列号视频记录信息
     * @param userName 当前用户登录信息
     * @param sequenceId 设备序列号
     * @param channelNo 通道号
     * @return
     */
    GetVidoVo getGetVidoVo(Map<String,CameraDeviceChannel> cameraDeviceChannelListMap,String userName, Integer sequenceId, Integer channelNo);

    /**
     * 根据序列id查询设备信息
     * @param sequenceId
     * @return
     */
    CameraDevice getCameraDeviceBySequenceId(Integer sequenceId);

    /**
     * 根据条件查询有效的设备与设备序列信息
     * @return
     */
    List<EffectiveSequenceDto> getEffectiveSequence(CameraDevice cameraDevice);

    /**
     * 根据条件全量新增
     * @param sequenceId
     * @param cameraDeviceChannelList
     */
    void completeInsertIds(List<Integer> sequenceId, List<CameraDeviceChannel> cameraDeviceChannelList);

}
